﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AccesoData;
using Entidades;
using Logica.Interfaces;

namespace Logica.Comandos.Ramo
{
    public class ComandoAgregarRamo: Comando, IAgregable
    {
        #region Overrides of Comando

        public override void Ejecutar()
        {
            throw new NotImplementedException();
        }

        #endregion

        #region Implementation of IAgregable

        public int Ejecutar(Aseguradora aseguradora)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(Entidades.Cliente cliente)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(Inspeccion inspeccion, Aseguradora aseguradora)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(Entidades.Lugar lugar)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(Personal personal)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(Entidades.Poliza poliza)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(Recaudo recaudo)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(RecaudoInspeccion recaudoInspeccion)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(Entidad recaudo, Entidad ramo)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(DetalleEstimado detalle)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(Entidades.Siniestro siniestro)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(Entidades.Sucursal sucursal)
        {
            throw new NotImplementedException();
        }

        #endregion



        public int Ejecutar(Entidades.Ramo ramo)
        {
            try
            {
                Entidades.Ramo ramoPrueba = DAO.ObtenerFabrica(1).ObtenerDaoRamo().ObtenerRamo(ramo.Nombre);

                if (ramoPrueba == null)
                {
                    ramoPrueba = FabricaEntidades.ObtenerRamo();
                    ramoPrueba.Id =DAO.ObtenerFabrica(1).ObtenerDaoRamo().AgregarRamo(ramo);
                }
                return ramoPrueba.Id;
            }catch(Exception)
            {
                return -1;
            }

        }
    }
}
